﻿using Crusades.Helpers;
using Microsoft.VisualStudio.TestTools.UnitTesting;

namespace Crusades_UT.spike{
  [TestClass]
  public class Bezier_UT {
//    [TestMethod]
//    public void ToPathSyntaxIsCorrect() {
//      const string expected = "Data=\"M13,159 C19.5,100 186.25,128.25 338.25,156.625\"";
//      BezierData bezierData = new BezierData(
//        new Vector(13, 159),
//        new Vector(26, 41),
//        new Vector(680, 272),
//        new Vector(575, 155)
//        );
//      Bezier controller = new Bezier();
//      BezierData split = controller.GetCurveAtPercent(.5, bezierData);
//      Assert.AreEqual(expected, split.ToPathSyntax());
//    }
//
//    [TestMethod]
//    public void SplitBezier() {
//      string expected = "Data=\"M13,159 C19.5,100 186.25,128.25 338.25,156.625\"";
//      BezierData bezierData = new BezierData(
//        new Vector(13, 159),
//        new Vector(26, 41),
//        new Vector(680, 272),
//        new Vector(575, 155)
//        );
//      Bezier controller = new Bezier();
//      BezierData split = controller.GetCurveAtPercent(.5, bezierData);
//      Assert.IsNotNull(split);
//      Assert.AreEqual(expected, split.ToPathSyntax());
//      Assert.Fail(controller.splitInHalf(bezierData).Top.ToPathSyntax());
//    }
//
//    [TestMethod]
//    public void CanSplitTo25Percent() {
//      string expected = "Data=\"M13,159 C19.5,100 186.25,128.25 338.25,156.625\"";
//      BezierData bezierData = new BezierData(
//        new Vector(13, 159),
//        new Vector(26, 41),
//        new Vector(680, 272),
//        new Vector(575, 155)
//        );
//      Bezier controller = new Bezier();
//      BezierData split1 = controller.GetCurveAtPercent(.5, bezierData);
//      BezierData split2 = controller.GetCurveAtPercent(.5, split1);
//      BezierData actual = controller.GetCurveAtPercent(.25, bezierData);
//      Assert.AreEqual(split2, actual);
//    }
//
//    [TestMethod]
//    [Ignore]
//    public void CanSplitTo375Percent() {
//      BezierData bezierData = new BezierData(
//        new Vector(13, 159),
//        new Vector(26, 41),
//        new Vector(680, 272),
//        new Vector(575, 155)
//        );
//      Bezier bezier  = new Bezier();
//      BezierData actual = bezier.GetCurveAtPercent(.375, bezierData);
//      Assert.Fail(actual.ToPathSyntax());
//    }
  }
}

// ---
// For details and tutorials: http://code.msdn.microsoft.com/silverlightut/